package commonClass.inter;

import java.text.MessageFormat;
import java.util.Locale;
import java.util.ResourceBundle;

public class InterDemo {

	/**
	 * 国际化指一个程序可以适应多门语言
	 * @param args
	 */
	public static void main(String[] args) {
		/**
		 * 首先根据不同的国家配置不同的资源文件(属性文件)key->value
		 * Message_zh_CN.properties和Message_en_US.properties
		 * 属性文件的操作中是不能直接写入中文的，必须将相应的中文编程Unicode编码才可以
		 * 可以通过命令native2ascii.exe来进行编码(参考native2ascii文档)
		 */
		
		//Locale用来表示一个国家语言类
		Locale zhLoc=new Locale("zh","CN");	//表示中国地区
		Locale enLoc=new Locale("en","US"); //表示美国地区
		
		//ResourceBundle主要作用是用来读取属性文件
		ResourceBundle zhrb=ResourceBundle.getBundle("commonClass/inter/Message",zhLoc);
		ResourceBundle enrb=ResourceBundle.getBundle("commonClass/inter/Message",enLoc);
		
		//输出key对应的值
		System.out.println(zhrb.getString("info"));
		System.out.println(enrb.getString("info"));
		
		/**
		 * MessageFormat是Format的子类,Format主要实现格式化操作，应该为改变了区域就要相应的改变数字,货币,时间等
		 * 所有Format提供了三个类：MessageFormat,DateFormat,NumberFormat
		 */
		//处理动态文本
		System.out.println("中文："+MessageFormat.format(zhrb.getString("info"), "赵辉"));
		System.out.println("英文："+MessageFormat.format(enrb.getString("info"), "zhaohui"));
		
	}

}
